package unilearn.domain;

import unilearn.domain.Assignment;
import java.util.*;

/**
 * @author Ben Morall, 4158768
 * @author Krish Nair, 5418763
 * @version 0.1, 27 April 2008, initial creation, blm
 * @version 0.2, 30 April 2008, Added subjectID to Constructor, blm
 * @version 0.3, 30 April 2008, added all subject domain var gets/sets. confusion on whether
 * 
 */
public class Subject
{

	private long subjectID = -1;
	private String subjectCode = null;
	private String subjectName = null;
	private int semester = 0;
	private int year = 0;
	private String description = null;
	private String convenorName = null;
	private String convenorEmail = null;
	private Vector<Assignment> assignments = null;

	/* default constructor */
	public Subject()
	{
	}

	/* default constructor */
	public Subject(long subID)
	{
		this.setSubjectID(subID);
	}

	/* set methods */
	public void setSubjectID(long subID)
	{
		this.subjectID = subID;
	}

	public void setSubjectCode(String sCode)
	{
		this.subjectCode = sCode;
	}

	public void setSubjectName(String sName)
	{
		this.subjectName = sName;
	}

	public void setSemester(int sem)
	{
		this.semester = sem;
	}

	public void setYear(int yr)
	{
		this.year = yr;
	}

	public void setDescription(String des)
	{
		this.description = des;
	}

	public void setConvenorName(String conName)
	{
		this.convenorName = conName;
	}

	public void setConvenorEmail(String conEmail)
	{
		this.convenorEmail = conEmail;
	}

	public void setAssignment(Vector<Assignment> assVec)
	{
		assignments = assVec;
	}

	/* get methods */
	public long getSubjectID()
	{
		return subjectID;
	}

	public String getSubjectCode()
	{
		return subjectCode;
	}

	public String getSubjectName()
	{
		return subjectName;
	}

	public int getSemester()
	{
		return semester;
	}

	public int getYear()
	{
		return year;
	}

	public String getDescription()
	{
		return description;
	}

	public String getConvenorName()
	{
		return convenorName;
	}

	public String getConvenorEmail()
	{
		return convenorEmail;
	}

	public Vector<Assignment> getAssignments()
	{
		return assignments;
	}
}
